package fr.afcepf.atod18.restaurants.web;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

import fr.afcepf.atod18.restaurants.entity.Restaurant;
import fr.afcepf.atod18.restaurants.service.IGestionRestaurant;

@ManagedBean(name="listeRestaurantMB")
@SessionScoped
public class ListeRestaurantMB {
	
	@ManagedProperty(value="#{gestionRestaurant}")
	private IGestionRestaurant gestionRestaurant;
	
	@ManagedProperty(value="#{listeProduitsMB}")
	private ListeProduitsMB listeProduitsMB;
	
	private int idSelRestaurant;
	
	private List<Restaurant> listeRestaurants;

	public ListeRestaurantMB() {
		super();
	}
	@PostConstruct
	public void chargementListes()
	{
		this.listeRestaurants=gestionRestaurant.listerRestaurant();
		if ( listeRestaurants.isEmpty()){
			System.out.println("init resto");
		gestionRestaurant.supprimerTout(listeRestaurants);
		Restaurant r= new Restaurant();
		r.setNom("Murex");
		gestionRestaurant.ajouterRestaurant(r);
		System.out.println("ajoutResto ok");
		r.setNom("LittleWok");
		gestionRestaurant.ajouterRestaurant(r);
		r.setNom("le Libanais");
		gestionRestaurant.ajouterRestaurant(r);
		r.setNom("le cochon qui rit");
		gestionRestaurant.ajouterRestaurant(r);
		r.setNom("l'auberge de Venise");
		gestionRestaurant.ajouterRestaurant(r);
		r.setNom("au bon accueil");
		gestionRestaurant.ajouterRestaurant(r);
		r.setNom("balto");
		gestionRestaurant.ajouterRestaurant(r);
		r.setNom("voltigeur");
		gestionRestaurant.ajouterRestaurant(r);
				
		this.listeRestaurants=gestionRestaurant.listerRestaurant();
		}
		System.out.println("listeResto ok");	
	
	}

	
	public String doSelection(){
		listeProduitsMB.setIdSelRestaurant(idSelRestaurant);
		Restaurant restaurant = gestionRestaurant.chercherRestaurant(idSelRestaurant);
		listeProduitsMB.setRestaurantSelectionne(restaurant);
		return "listeProduits";
		
	}
	public String doSuite(){
		return "welcome";
	}
	public IGestionRestaurant getGestionRestaurant() {
		return gestionRestaurant;
	}
	public void setGestionRestaurant(IGestionRestaurant gestionRestaurant) {
		this.gestionRestaurant = gestionRestaurant;
	}
	public ListeProduitsMB getListeProduitsMB() {
		return listeProduitsMB;
	}
	public void setListeProduitsMB(ListeProduitsMB listeProduitsMB) {
		this.listeProduitsMB = listeProduitsMB;
	}
	public int getIdSelRestaurant() {
		return idSelRestaurant;
	}
	public void setIdSelRestaurant(int idSelRestaurant) {
		this.idSelRestaurant = idSelRestaurant;
	}
	public List<Restaurant> getListeRestaurants() {
		this.listeRestaurants=gestionRestaurant.listerRestaurant();
		if ( listeRestaurants.isEmpty()){
			System.out.println("init resto");
			gestionRestaurant.supprimerTout(listeRestaurants);
			Restaurant r= new Restaurant();
			r.setNom("Murex");
			gestionRestaurant.ajouterRestaurant(r);
			System.out.println("ajoutResto ok");
			r.setNom("LittleWok");
			gestionRestaurant.ajouterRestaurant(r);
			r.setNom("le Libanais");
			gestionRestaurant.ajouterRestaurant(r);
			r.setNom("le cochon qui rit");
			gestionRestaurant.ajouterRestaurant(r);
			r.setNom("l'auberge de Venise");
			gestionRestaurant.ajouterRestaurant(r);
			r.setNom("au bon accueil");
			gestionRestaurant.ajouterRestaurant(r);
			r.setNom("balto");
			gestionRestaurant.ajouterRestaurant(r);
			r.setNom("voltigeur");
			gestionRestaurant.ajouterRestaurant(r);
				
			this.listeRestaurants=gestionRestaurant.listerRestaurant();
		}
		return listeRestaurants;
	}
	public void setListeRestaurants(List<Restaurant> listeRestaurants) {
		this.listeRestaurants = listeRestaurants;
	}
	
}
